/*
  将下面异步代码使用 Promise 的方法改进
  尽量用看上去像同步代码的方式
  setTimeout(function () {
    var a = 'hello'
    setTimeout(function () {
      var b = 'lagou'
      setTimeout(function () {
        var c = 'I ♥ U'
        console.log(a + b +c)
      }, 10)
    }, 10)
  }, 10)
*/
function one() {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      var a = "hello";
      resolve(a);
    }, 10);
  });
}
function two() {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      var b = "lagou";
      resolve(b);
    }, 10);
  });
}
function three() {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      var c = "I ❤  U";
      resolve(c);
    }, 10);
  });
}
async function main() {
  let a = await one();
  let b = await two();
  let c = await three();
  return `${a} ${b} ${c}`;
}
main().then((res) => {
  console.log(res);
});
